package educar.gui;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;

import javax.swing.JPanel;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import educar.controllers.UserController;
import educar.controllers.AlumnoController;
import educar.controllers.DocenteController;
import educar.controllers.MateriaController;
import educar.controllers.FacultadController;
import educar.controllers.CargoController;
import educar.models.Cargo;

import java.sql.SQLException;

/**
 * This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI
 * Builder, which is free for non-commercial use. If Jigloo is being used
 * commercially (ie, by a corporation, company or business for any purpose
 * whatever) then you should purchase a license for each developer using Jigloo.
 * Please visit www.cloudgarden.com for details. Use of Jigloo implies
 * acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN
 * PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR
 * ANY CORPORATE OR COMMERCIAL PURPOSE.
 */
public class AdministradorView extends javax.swing.JFrame implements IView {

	{
		// Set Look & Feel
		try {
			javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager
					.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private JPanel panelCargas;

	private JTextField CampoNuevaContrasenia;
	private JLabel NuevaContraseniaLabel;
	private JLabel IDUsuarioMod;
	private JTextField CampoModificarID;
	private JLabel JLabelRol;
	private JComboBox JComboBoxRolesUsuario;
	private JButton BotonModificar;
	private JButton BotonCrearUsuario;
	private JTextField CampoPassword;
	private JLabel LabelPassword;
	private JTextField CampoUsername;
	private JLabel LabelUsername;
	private JTextField CampoDNIUsuario;
	private JLabel LabelDniUsuario;

	private JButton UsuarioButton;
	private JButton BotonLogout;
	private JButton BotonModificarDocente;
	private JButton BotonEliminarDocente;
	private JButton BotonCargarDocente;
	private JTextField CampoDireccionDocente;
	private JLabel LabelDireccionDocente;
	private JTextField CampoApellidoDocente;
	private JTextField CampoDniDocente;
	private JButton BotonEliminarFacultad;
	private JPanel PanelFacultad;
	private JLabel LabelNombreFacultad;
	private JLabel LabelCodigoFacultad;
	private JButton BotonCargarFacultad;
	private JButton BotonModificarFacultad;
	private JTextField CampoNombreFacultad;
	private JTextField CampoCodigoFacultad;
	private JButton BotonOKMateria;

	private JTextField CampoNombreDocente;
	private JButton BotonOKFacultad;
	private JLabel LabelDniDocente;
	private JLabel LabelNombreDocente;
	private JLabel LabelApellidoDocente;
	private JPanel PanelDocente;
	private JButton BotonOKDocente;

	private JPanel PanelUsuario;
	private JButton FacultadButton;
	private JButton MateriaButton;
	private JButton DocenteButton;
	private JTextField CampoCodigoMateria;
	private JLabel LabelCodigoMateria;
	private JTextField CampoNombreMateria;
	private JLabel LabelNombreMateria;
	private JPanel PanelMateria;

	private JButton BotonCargarMateria;
	private JButton BotonModificarMateria;
	private JButton BotonEliminarMateria;
	private JLabel LabelCodigoCargoEnCargo;

	private JButton AlumnoButton;
	private JLabel LabelApellidoAlumno;
	private JLabel LabelNombreAlumno;
	private JLabel LabelDniAlumno;
	private JPanel PanelAlumno;
	private JButton BotonModificarAlumno;
	private JButton BotonEliminarAlumno;
	private JButton BotonCargarAlumno;
	private JButton BotonOKAlumno;
	private JLabel LabelDireccionAlumno;
	private JTextField CampoNombreAlumno;
	private JTextField CampoDniAlumno;
	private JTextField CampoDireccionAlumno;
	private JTextField CampoApellidoAlumno;
	private JTextField CampoDocenteACargo;
	private JButton BotonAsignarCargo;
	private JLabel LabelDedicacionEnCargo;
	private JComboBox ComboBoxDniDocenteEnCargo;
	private JLabel LabelDniDocenteEnCargo;
	private JComboBox ComboBoxCodigoFacultadEnCargo;
	private JLabel LabelCodigoFacultadEnCargo;
	private JButton CargoButton;
	private JComboBox ComboBoxDedicacionEnCargo;
	private JComboBox ComboBoxCodigoCargoEnCargo;
	private JLabel LabelDocenteACargo;
	private JPanel PanelCargo;
	private JButton BotonEliminarCargo;
	private JButton BotonCargarCargo;
	private JLabel LabelDescripcionCargo;
	private JLabel LabelCodigoCargo;
	private JTextField CampoCodigoCargo;
	private JTextField CampoDescripcionCargo;

	/**
	 * Auto-generated main method to display this JFrame
	 */
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				AdministradorView inst = new AdministradorView();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}

	public AdministradorView() {
		super();
		initGUI();
	}

	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			this.setTitle("Administrador");
			this.setLocationRelativeTo(null);
			this.setLocation(this.getX() - 300, this.getY() - 170);
			OptionsButtonListener botonOyenteOpciones = new OptionsButtonListener();
			{
				panelCargas = new JPanel();
				panelCargas.setBackground(new Color(0, 0, 0));
				getContentPane().add(panelCargas);
				panelCargas.setBounds(0, 0, 219, 361);
				panelCargas.setLayout(null);
				{
					AlumnoButton = new JButton();
					panelCargas.add(AlumnoButton);
					AlumnoButton.setText("Alumnos");
					AlumnoButton.setBounds(12, 12, 190, 34);
					AlumnoButton.addActionListener(botonOyenteOpciones);
				}
				{
					DocenteButton = new JButton();
					panelCargas.add(DocenteButton);
					DocenteButton.setText("Docentes");
					DocenteButton.setBounds(12, 58, 190, 36);
					DocenteButton.addActionListener(botonOyenteOpciones);
				}
				{
					MateriaButton = new JButton();
					panelCargas.add(MateriaButton);
					MateriaButton.setText("Materias");
					MateriaButton.setBounds(12, 106, 190, 34);
					MateriaButton.addActionListener(botonOyenteOpciones);

				}
				{
					CargoButton = new JButton();
					panelCargas.add(CargoButton);
					CargoButton.setText("Cargos");
					CargoButton.setBounds(12, 152, 190, 42);
					CargoButton.addActionListener(botonOyenteOpciones);

				}
				{

				}
				{
					FacultadButton = new JButton();
					panelCargas.add(FacultadButton);
					FacultadButton.setText("Facultades");
					FacultadButton.setBounds(12, 206, 190, 40);
					FacultadButton.addActionListener(botonOyenteOpciones);
				}
				{
					UsuarioButton = new JButton();
					panelCargas.add(UsuarioButton);
					UsuarioButton.setText("Usuarios");
					UsuarioButton.setBounds(12, 258, 190, 39);
					UsuarioButton.addActionListener(botonOyenteOpciones);

				}
				{
					BotonLogout = new JButton();
					panelCargas.add(BotonLogout);
					BotonLogout.setText("Salir");
					BotonLogout.setBounds(12, 311, 190, 38);
					BotonLogout.addActionListener(botonOyenteOpciones);
				}
				{
					PanelAlumno = new JPanel();
					getContentPane().add(PanelAlumno);
					PanelAlumno.setVisible(false);
					PanelAlumno.setBounds(219, 0, 466, 361);
					PanelAlumno.setBackground(new Color(0, 200, 255));
					PanelAlumno.setLayout(null);
					AlumnoController controladorAlumno = new AlumnoController(
							this);
					{
						LabelDniAlumno = new JLabel();
						PanelAlumno.add(LabelDniAlumno);
						LabelDniAlumno.setText("DNI:");
						LabelDniAlumno.setBounds(64, 50, 38, 28);
					}
					{
						CampoDniAlumno = new JTextField();
						PanelAlumno.add(CampoDniAlumno);
						CampoDniAlumno.setBounds(102, 50, 278, 28);
					}
					{
						LabelNombreAlumno = new JLabel();
						PanelAlumno.add(LabelNombreAlumno);
						LabelNombreAlumno.setText("Nombre: ");
						LabelNombreAlumno.setBounds(34, 90, 68, 18);
					}
					{
						CampoNombreAlumno = new JTextField();
						PanelAlumno.add(CampoNombreAlumno);
						CampoNombreAlumno.setBounds(102, 85, 278, 28);
					}
					{
						LabelApellidoAlumno = new JLabel();
						PanelAlumno.add(LabelApellidoAlumno);
						LabelApellidoAlumno.setText("Apellido:");
						LabelApellidoAlumno.setBounds(34, 134, 68, 18);
					}
					{
						CampoApellidoAlumno = new JTextField();
						PanelAlumno.add(CampoApellidoAlumno);
						CampoApellidoAlumno.setBounds(102, 129, 278, 28);
					}
					{
						LabelDireccionAlumno = new JLabel();
						PanelAlumno.add(LabelDireccionAlumno);
						LabelDireccionAlumno.setText("Direccion:");
						LabelDireccionAlumno.setBounds(25, 174, 79, 18);
					}
					{
						CampoDireccionAlumno = new JTextField();
						PanelAlumno.add(CampoDireccionAlumno);
						CampoDireccionAlumno.setBounds(103, 169, 275, 28);
					}
					{
						BotonCargarAlumno = new JButton();
						PanelAlumno.add(BotonCargarAlumno);
						BotonCargarAlumno.setText("Cargar");
						BotonCargarAlumno.setBounds(37, 239, 114, 40);
						BotonCargarAlumno.addActionListener(controladorAlumno);
					}
					{
						BotonEliminarAlumno = new JButton();
						PanelAlumno.add(BotonEliminarAlumno);
						BotonEliminarAlumno.setText("Eliminar");
						BotonEliminarAlumno.setBounds(157, 237, 115, 44);
						BotonEliminarAlumno
								.addActionListener(controladorAlumno);
					}
					{
						BotonModificarAlumno = new JButton();
						PanelAlumno.add(BotonModificarAlumno);
						BotonModificarAlumno.setText("Modificar");
						BotonModificarAlumno.setBounds(278, 237, 138, 44);
						BotonModificarAlumno
								.addActionListener(controladorAlumno);
					}
					{
						BotonOKAlumno = new JButton();
						PanelAlumno.add(BotonOKAlumno);
						BotonOKAlumno.setText("OK");
						BotonOKAlumno.setBounds(388, 168, 55, 29);
						BotonOKAlumno.addActionListener(controladorAlumno);
					}
				}
				{
					PanelDocente = new JPanel();
					getContentPane().add(PanelDocente);
					PanelDocente.setVisible(false);
					PanelDocente.setBounds(219, 0, 466, 361);
					PanelDocente.setBackground(new Color(0, 200, 255));
					PanelDocente.setLayout(null);
					DocenteController controladorDocente = new DocenteController(
							this);
					{
						LabelDniDocente = new JLabel();
						PanelDocente.add(LabelDniDocente);
						LabelDniDocente.setText("DNI:");
						LabelDniDocente.setBounds(64, 50, 38, 28);
					}
					{
						CampoDniDocente = new JTextField();
						PanelDocente.add(CampoDniDocente);
						CampoDniDocente.setBounds(102, 50, 278, 28);
					}
					{
						LabelNombreDocente = new JLabel();
						PanelDocente.add(LabelNombreDocente);
						LabelNombreDocente.setText("Nombre: ");
						LabelNombreDocente.setBounds(34, 90, 68, 18);
					}
					{
						CampoNombreDocente = new JTextField();
						PanelDocente.add(CampoNombreDocente);
						CampoNombreDocente.setBounds(102, 85, 278, 28);
					}
					{
						LabelApellidoDocente = new JLabel();
						PanelDocente.add(LabelApellidoDocente);
						LabelApellidoDocente.setText("Apellido:");
						LabelApellidoDocente.setBounds(34, 134, 68, 18);
					}
					{
						CampoApellidoDocente = new JTextField();
						PanelDocente.add(CampoApellidoDocente);
						CampoApellidoDocente.setBounds(102, 129, 278, 28);
					}
					{
						LabelDireccionDocente = new JLabel();
						PanelDocente.add(LabelDireccionDocente);
						LabelDireccionDocente.setText("Direccion:");
						LabelDireccionDocente.setBounds(25, 174, 79, 18);
					}
					{
						CampoDireccionDocente = new JTextField();
						PanelDocente.add(CampoDireccionDocente);
						CampoDireccionDocente.setBounds(103, 169, 275, 28);
					}
					{
						BotonCargarDocente = new JButton();
						PanelDocente.add(BotonCargarDocente);
						BotonCargarDocente.setText("Cargar");
						BotonCargarDocente.setBounds(40, 230, 114, 40);
						BotonCargarDocente
								.addActionListener(controladorDocente);
					}
					{
						BotonEliminarDocente = new JButton();
						PanelDocente.add(BotonEliminarDocente);
						BotonEliminarDocente.setText("Eliminar");
						BotonEliminarDocente.setBounds(160, 228, 115, 44);
						BotonEliminarDocente
								.addActionListener(controladorDocente);
					}
					{
						BotonModificarDocente = new JButton();
						PanelDocente.add(BotonModificarDocente);
						BotonModificarDocente.setText("Modificar");
						BotonModificarDocente.setBounds(281, 228, 138, 44);
						BotonModificarDocente
								.addActionListener(controladorDocente);
					}
					{
						BotonOKDocente = new JButton();
						PanelDocente.add(BotonOKDocente);
						BotonOKDocente.setText("OK");
						BotonOKDocente.setBounds(388, 168, 55, 29);
						BotonOKDocente.addActionListener(controladorDocente);
					}
				}
				{
					PanelMateria = new JPanel();
					PanelMateria.setVisible(false);
					getContentPane().add(PanelMateria);
					PanelMateria.setBounds(219, 0, 470, 361);
					PanelMateria.setLayout(null);
					PanelMateria.setBackground(new Color(0, 200, 255));
					MateriaController controladorMateria = new MateriaController(
							this);
					{
						LabelNombreMateria = new JLabel();
						PanelMateria.add(LabelNombreMateria);
						LabelNombreMateria.setText("Nombre:");
						LabelNombreMateria.setBounds(30, 69, 71, 22);
					}
					{
						CampoNombreMateria = new JTextField();
						PanelMateria.add(CampoNombreMateria);
						CampoNombreMateria.setBounds(130, 66, 240, 28);
					}
					{
						LabelCodigoMateria = new JLabel();
						PanelMateria.add(LabelCodigoMateria);
						LabelCodigoMateria.setText("Codigo:");
						LabelCodigoMateria.setBounds(30, 133, 71, 22);
					}
					{
						LabelDocenteACargo = new JLabel();
						PanelMateria.add(LabelDocenteACargo);
						LabelDocenteACargo.setText("DNI docente:");
						LabelDocenteACargo.setBounds(30, 190, 100, 30);
					}
					{
						CampoCodigoMateria = new JTextField();
						PanelMateria.add(CampoCodigoMateria);
						CampoCodigoMateria.setBounds(130, 128, 240, 28);
					}
					{
						CampoDocenteACargo = new JTextField();
						PanelMateria.add(CampoDocenteACargo);
						CampoDocenteACargo.setBounds(130, 190, 240, 28);
					}
					{
						BotonCargarMateria = new JButton();
						PanelMateria.add(BotonCargarMateria);
						BotonCargarMateria.setText("Cargar");
						BotonCargarMateria.setBounds(37, 239, 114, 40);
						BotonCargarMateria
								.addActionListener(controladorMateria);
					}
					{
						BotonEliminarMateria = new JButton();
						PanelMateria.add(BotonEliminarMateria);
						BotonEliminarMateria.setText("Eliminar");
						BotonEliminarMateria.setBounds(157, 237, 115, 44);
						BotonEliminarMateria
								.addActionListener(controladorMateria);
					}
					{
						BotonModificarMateria = new JButton();
						PanelMateria.add(BotonModificarMateria);
						BotonModificarMateria.setText("Modificar");
						BotonModificarMateria.setBounds(278, 237, 138, 44);
						BotonModificarMateria
								.addActionListener(controladorMateria);
					}
					{
						BotonOKMateria = new JButton();
						PanelMateria.add(BotonOKMateria);
						BotonOKMateria.setText("OK");
						BotonOKMateria.setBounds(388, 190, 55, 29);
						BotonOKMateria.addActionListener(controladorMateria);
					}
				}
				{
					PanelCargo = new JPanel();
					PanelCargo.setVisible(false);
					getContentPane().add(PanelCargo);
					PanelCargo.setBounds(219, 0, 470, 361);
					PanelCargo.setLayout(null);
					PanelCargo.setBackground(new Color(0, 200, 255));
					CargoController controladorCargo = new CargoController(this);
					{
						LabelDescripcionCargo = new JLabel();
						PanelCargo.add(LabelDescripcionCargo);
						LabelDescripcionCargo.setText("Descripcion:");
						LabelDescripcionCargo.setBounds(51, 32, 90, 22);// 51,
																		// 32,
																		// 71,
																		// 22
					}
					{
						CampoDescripcionCargo = new JTextField();
						PanelCargo.add(CampoDescripcionCargo);
						CampoDescripcionCargo.setBounds(150, 29, 262, 28);
					}
					{
						LabelCodigoCargo = new JLabel();
						PanelCargo.add(LabelCodigoCargo);
						LabelCodigoCargo.setText("Codigo:");
						LabelCodigoCargo.setBounds(51, 75, 71, 18);
					}
					{
						CampoCodigoCargo = new JTextField();
						PanelCargo.add(CampoCodigoCargo);
						CampoCodigoCargo.setBounds(150, 70, 262, 28);
					}
					{
						BotonCargarCargo = new JButton();
						PanelCargo.add(BotonCargarCargo);
						BotonCargarCargo.setText("Cargar");
						BotonCargarCargo.setBounds(249, 108, 114, 45);
						BotonCargarCargo.addActionListener(controladorCargo);
					}
					{
						BotonEliminarCargo = new JButton();
						PanelCargo.add(BotonEliminarCargo);
						BotonEliminarCargo.setText("Eliminar");
						BotonEliminarCargo.setBounds(128, 108, 114, 44);
						BotonEliminarCargo.addActionListener(controladorCargo);
					}
					{
						LabelCodigoFacultadEnCargo = new JLabel(); // *************************
						PanelCargo.add(LabelCodigoFacultadEnCargo);
						LabelCodigoFacultadEnCargo.setText("Codigo Facultad:");
						LabelCodigoFacultadEnCargo.setBounds(53, 170, 130, 18);
					}
					{
						ComboBoxModel ComboBoxCodigoFacultadEnCargoModel = new DefaultComboBoxModel(
								FacultadController.listarNombres()); // /**********
																		// nuevo
						ComboBoxCodigoFacultadEnCargo = new JComboBox();
						PanelCargo.add(ComboBoxCodigoFacultadEnCargo);
						ComboBoxCodigoFacultadEnCargo
								.setModel(ComboBoxCodigoFacultadEnCargoModel);
						ComboBoxCodigoFacultadEnCargo.setBounds(180, 165, 221,
								28);
					}
					{
						LabelDniDocenteEnCargo = new JLabel(); // *******************
						PanelCargo.add(LabelDniDocenteEnCargo);
						LabelDniDocenteEnCargo.setText("Dni Docente:");
						LabelDniDocenteEnCargo.setBounds(53, 204, 100, 18); // 53,
																			// 204,
																			// 71,
																			// 18
					}
					{
						ComboBoxModel ComboBoxDniDocenteEnCargoModel = new DefaultComboBoxModel(
								DocenteController.listarNombres());// ********nuevo
						ComboBoxDniDocenteEnCargo = new JComboBox();
						PanelCargo.add(ComboBoxDniDocenteEnCargo);
						ComboBoxDniDocenteEnCargo
								.setModel(ComboBoxDniDocenteEnCargoModel);
						ComboBoxDniDocenteEnCargo.setBounds(180, 201, 221, 28);
					}
					{
						LabelDedicacionEnCargo = new JLabel();
						PanelCargo.add(LabelDedicacionEnCargo);
						LabelDedicacionEnCargo.setText("Dedicacion: ");
						LabelDedicacionEnCargo.setBounds(51, 280, 85, 18);
					}
					{
						ComboBoxModel ComboBoxDedicacionEnCargoModel = new DefaultComboBoxModel(
								new String[] { "Simple", "Full", "Semi" });
						ComboBoxDedicacionEnCargo = new JComboBox();
						PanelCargo.add(ComboBoxDedicacionEnCargo);
						ComboBoxDedicacionEnCargo
								.setModel(ComboBoxDedicacionEnCargoModel);
						ComboBoxDedicacionEnCargo.setBounds(180, 275, 221, 28);
					}
					{
						LabelCodigoCargoEnCargo = new JLabel(); // ***********************
						PanelCargo.add(LabelCodigoCargoEnCargo);
						LabelCodigoCargoEnCargo.setText("Codigo Cargo: ");
						LabelCodigoCargoEnCargo.setBounds(53, 240, 110, 18);
					}
					{
						ComboBoxModel ComboBoxCodigoCargoEnCargoModel = new DefaultComboBoxModel(
								CargoController.listarNombres());// ********
																	// cambiar
						ComboBoxCodigoCargoEnCargo = new JComboBox();
						PanelCargo.add(ComboBoxCodigoCargoEnCargo);
						ComboBoxCodigoCargoEnCargo
								.setModel(ComboBoxCodigoCargoEnCargoModel);
						ComboBoxCodigoCargoEnCargo.setBounds(180, 237, 221, 28);
					}
					{
						BotonAsignarCargo = new JButton();
						PanelCargo.add(BotonAsignarCargo);
						BotonAsignarCargo.setText("Asignar");
						BotonAsignarCargo.setBounds(160, 314, 125, 38); // 160,
																		// 299,
																		// 125,
																		// 38
						BotonAsignarCargo.addActionListener(controladorCargo);
					}
				}
				{
					PanelFacultad = new JPanel();
					PanelFacultad.setVisible(false);
					getContentPane().add(PanelFacultad);
					PanelFacultad.setBounds(219, 0, 470, 361);
					PanelFacultad.setLayout(null);
					PanelFacultad.setBackground(new Color(0, 200, 255));
					FacultadController controladorFacultad = new FacultadController(
							this);
					{
						LabelNombreFacultad = new JLabel();
						PanelFacultad.add(LabelNombreFacultad);
						LabelNombreFacultad.setText("Nombre:");
						LabelNombreFacultad.setBounds(51, 69, 71, 22);
					}
					{
						BotonOKFacultad = new JButton();
						PanelFacultad.add(BotonOKFacultad);
						BotonOKFacultad.setText("OK");
						BotonOKFacultad.setBounds(395, 65, 55, 29);
						BotonOKFacultad.addActionListener(controladorFacultad);

					}
					{
						CampoNombreFacultad = new JTextField();
						PanelFacultad.add(CampoNombreFacultad);
						CampoNombreFacultad.setBounds(122, 66, 262, 28);
					}
					{
						LabelCodigoFacultad = new JLabel();
						PanelFacultad.add(LabelCodigoFacultad);
						LabelCodigoFacultad.setText("Codigo:");
						LabelCodigoFacultad.setBounds(55, 133, 71, 18);
					}
					{
						CampoCodigoFacultad = new JTextField();
						PanelFacultad.add(CampoCodigoFacultad);
						CampoCodigoFacultad.setBounds(122, 128, 262, 28);
					}
					{
						BotonCargarFacultad = new JButton();
						PanelFacultad.add(BotonCargarFacultad);
						BotonCargarFacultad.setText("Cargar");
						BotonCargarFacultad.setBounds(37, 239, 114, 40);
						BotonCargarFacultad
								.addActionListener(controladorFacultad);
					}
					{
						BotonModificarFacultad = new JButton();
						PanelFacultad.add(BotonModificarFacultad);
						BotonModificarFacultad.setText("Modificar");
						BotonModificarFacultad.setBounds(278, 237, 138, 44);
						BotonModificarFacultad
								.addActionListener(controladorFacultad);
					}

					{
						BotonEliminarFacultad = new JButton();
						PanelFacultad.add(BotonEliminarFacultad);
						BotonEliminarFacultad.setText("Eliminar");
						BotonEliminarFacultad.setBounds(157, 237, 115, 44);
						BotonEliminarFacultad
								.addActionListener(controladorFacultad);
					}
				}
				{
					PanelUsuario = new JPanel();
					PanelUsuario.setVisible(false);
					getContentPane().add(PanelUsuario);
					PanelUsuario.setBounds(219, 0, 470, 361);
					PanelUsuario.setLayout(null);
					PanelUsuario.setBackground(new Color(0, 200, 255));
					UserController controladorUsuario = new UserController(this);
					{
						LabelDniUsuario = new JLabel();
						PanelUsuario.add(LabelDniUsuario);
						LabelDniUsuario.setText("DNI: ");
						LabelDniUsuario.setBounds(57, 21, 49, 20);
					}
					{
						CampoDNIUsuario = new JTextField();
						PanelUsuario.add(CampoDNIUsuario);
						CampoDNIUsuario.setBounds(148, 17, 256, 28);
					}
					{
						LabelUsername = new JLabel();
						PanelUsuario.add(LabelUsername);
						LabelUsername.setText("Nombre:");
						LabelUsername.setBounds(57, 62, 79, 18);
					}
					{
						CampoUsername = new JTextField();
						PanelUsuario.add(CampoUsername);
						CampoUsername.setBounds(148, 57, 256, 28);
					}
					{
						LabelPassword = new JLabel();
						PanelUsuario.add(LabelPassword);
						LabelPassword.setText("Contraseña: ");
						LabelPassword.setBounds(57, 102, 89, 18);
					}
					{
						CampoPassword = new JTextField();
						PanelUsuario.add(CampoPassword);
						CampoPassword.setBounds(148, 97, 256, 28);
					}
					{
						BotonCrearUsuario = new JButton();
						PanelUsuario.add(BotonCrearUsuario);
						BotonCrearUsuario.setText("Crear");
						BotonCrearUsuario.setBounds(314, 182, 114, 36);
						BotonCrearUsuario.addActionListener(controladorUsuario);
					}
					{
						BotonModificar = new JButton();
						PanelUsuario.add(BotonModificar);
						BotonModificar.setText("Modificar");
						BotonModificar.setBounds(305, 312, 123, 36);
						BotonModificar.addActionListener(controladorUsuario);
					}
					{
						ComboBoxModel JComboBoxRolesUsuarioModel = new DefaultComboBoxModel(
								new String[] { "alumno", "docente",
										"administrador" });
						JComboBoxRolesUsuario = new JComboBox();
						PanelUsuario.add(JComboBoxRolesUsuario);
						JComboBoxRolesUsuario
								.setModel(JComboBoxRolesUsuarioModel);
						JComboBoxRolesUsuario.setBounds(148, 137, 121, 28);
					}
					{
						JLabelRol = new JLabel();
						PanelUsuario.add(JLabelRol);
						JLabelRol.setText("Rol");
						JLabelRol.setBounds(57, 142, 65, 18);
					}
					{
						CampoModificarID = new JTextField();
						PanelUsuario.add(CampoModificarID);
						CampoModificarID.setBounds(208, 230, 220, 28);
					}
					{
						IDUsuarioMod = new JLabel();
						PanelUsuario.add(IDUsuarioMod);
						IDUsuarioMod.setText("DNI del Usuario");
						IDUsuarioMod.setBounds(12, 237, 155, 23);
					}
					{
						NuevaContraseniaLabel = new JLabel();
						PanelUsuario.add(NuevaContraseniaLabel);
						NuevaContraseniaLabel.setText("Nueva Contraseña");
						NuevaContraseniaLabel.setBounds(12, 277, 167, 18);
					}
					{
						CampoNuevaContrasenia = new JTextField();
						PanelUsuario.add(CampoNuevaContrasenia);
						CampoNuevaContrasenia.setBounds(208, 272, 220, 28);
					}
					{
						BotonOKAlumno.setEnabled(false);
						BotonOKDocente.setEnabled(false);
						BotonOKFacultad.setEnabled(false);
						BotonOKMateria.setEnabled(false);
					}
				}
				panelCargas.setLayout(null);
			}
			pack();
			this.setSize(687, 391);
		} catch (Exception e) {
			// add your error handling code here
			e.printStackTrace();
		}
	}

	private void destruirVentana() {
		this.dispose();
	}

	private class OptionsButtonListener implements ActionListener {

		@Override
		public void actionPerformed(ActionEvent e) {
			if (e.getActionCommand().equals("Alumnos")) {
				PanelUsuario.setVisible(false);
				PanelFacultad.setVisible(false);
				PanelCargo.setVisible(false);
				PanelMateria.setVisible(false);
				PanelDocente.setVisible(false);
				PanelAlumno.setVisible(true);
			}
			if (e.getActionCommand().equals("Docentes")) {
				PanelUsuario.setVisible(false);
				PanelFacultad.setVisible(false);
				PanelCargo.setVisible(false);
				PanelAlumno.setVisible(false);
				PanelMateria.setVisible(false);
				PanelDocente.setVisible(true);
			}
			if (e.getActionCommand().equals("Materias")) {
				PanelUsuario.setVisible(false);
				PanelFacultad.setVisible(false);
				PanelCargo.setVisible(false);
				PanelAlumno.setVisible(false);
				PanelDocente.setVisible(false);
				PanelMateria.setVisible(true);
			}
			if (e.getActionCommand().equals("Cargos")) {
				PanelUsuario.setVisible(false);
				PanelFacultad.setVisible(false);
				PanelAlumno.setVisible(false);
				PanelDocente.setVisible(false);
				PanelMateria.setVisible(false);
				PanelCargo.setVisible(true);
			}
			if (e.getActionCommand().equals("Facultades")) {
				PanelUsuario.setVisible(false);
				PanelAlumno.setVisible(false);
				PanelDocente.setVisible(false);
				PanelMateria.setVisible(false);
				PanelCargo.setVisible(false);
				PanelFacultad.setVisible(true);
			}
			if (e.getActionCommand().equals("Usuarios")) {
				PanelAlumno.setVisible(false);
				PanelDocente.setVisible(false);
				PanelMateria.setVisible(false);
				PanelCargo.setVisible(false);
				PanelFacultad.setVisible(false);
				PanelUsuario.setVisible(true);
			}
			if (e.getActionCommand().equals("Salir"))
				destruirVentana();

		}
	}

	@Override
	public void present(String model) {
		// TODO Auto-generated method stub

	}

	// ------------------------------------------------------GETTERS
	public String getUserNameUsuario() {
		return CampoUsername.getText();
	}

	public String getPasswordUsuario() {
		return CampoPassword.getText();
	}

	public String getDNIUsuario() {
		return CampoDNIUsuario.getText();

	}

	public String getRolUsuario() {
		return (String) JComboBoxRolesUsuario.getSelectedItem();
	}

	public String getIDUsuarioModificar() {
		return CampoModificarID.getText();
	}

	public String getNuevoPasswordUsuario() {
		return CampoNuevaContrasenia.getText();
	}

	// -----------Getters de alumno
	public String getNombreAlumno() {
		return CampoNombreAlumno.getText();
	}

	public String getDireccionAlumno() {
		return CampoDireccionAlumno.getText();
	}

	public String getApellidoAlumno() {
		return CampoApellidoAlumno.getText();
	}

	public String getDniAlumno() {
		return CampoDniAlumno.getText();
	}

	// -----------Getters de Docente
	public String getNombreDocente() {
		return CampoNombreDocente.getText();
	}

	public String getDireccionDocente() {
		return CampoDireccionDocente.getText();
	}

	public String getApellidoDocente() {
		return CampoApellidoDocente.getText();
	}

	public String getDniDocente() {
		return CampoDniDocente.getText();
	}

	// ------------------------------SETTERS
	public void resetCamposUsuario() {
		JComboBoxRolesUsuario.setSelectedIndex(0);
		CampoDNIUsuario.setText("");
		CampoUsername.setText("");
		CampoPassword.setText("");
		CampoModificarID.setText("");
		CampoNuevaContrasenia.setText("");
	}

	public void resetCamposAlumno() {
		CampoDniAlumno.setText("");
		CampoNombreAlumno.setText("");
		CampoDireccionAlumno.setText("");
		CampoApellidoAlumno.setText("");
	}

	public void resetCamposDocente() {
		CampoDniDocente.setText("");
		CampoNombreDocente.setText("");
		CampoDireccionDocente.setText("");
		CampoApellidoDocente.setText("");
	}

	public void setCamposAlumno(String nombre, String apellido,
			String direccion, String dni) {
		CampoDniAlumno.setText(dni);
		CampoNombreAlumno.setText(nombre);
		CampoDireccionAlumno.setText(direccion);
		CampoApellidoAlumno.setText(apellido);
	}

	public void setCamposDocente(String nombre, String apellido,
			String direccion, String dni) {
		CampoDniDocente.setText(dni);
		CampoNombreDocente.setText(nombre);
		CampoDireccionDocente.setText(direccion);
		CampoApellidoDocente.setText(apellido);
	}

	// -------------------------Getters materia
	public String getNombreMateria() {
		return CampoNombreMateria.getText();
	}

	public String getCodigoMateria() {
		return CampoCodigoMateria.getText();
	}

	public String getDniDocenteACargo() {
		return CampoDocenteACargo.getText();
	}

	// ------------------------------SETTERS
	public void resetCamposMateria() {
		CampoNombreMateria.setText("");
		CampoCodigoMateria.setText("");
		CampoDocenteACargo.setText("");
	}

	public void setBotonAlumnoOK(boolean estado) {
		BotonOKAlumno.setEnabled(estado);
	}

	public void setBotonDocenteOK(boolean estado) {
		BotonOKDocente.setEnabled(estado);
	}

	public void setBotonMateriaOK(boolean estado) {
		BotonOKMateria.setEnabled(estado);
	}

	public void setBotonFacultadOK(boolean estado) {
		BotonOKFacultad.setEnabled(estado);
	}

	public void setCamposMateria(String codigo, String nombre, String dni) {
		CampoNombreMateria.setText(nombre);
		CampoCodigoMateria.setText(codigo);
		CampoDocenteACargo.setText(dni);
	}

	// -------------------------------------------------GETTERS de facultad

	public String getNombreFacultad() {
		return CampoNombreFacultad.getText();
	}

	public String getCodigoFacultad() {
		return CampoCodigoFacultad.getText();
	}

	// -----------------------------------------------SETTERS de facultad

	public void resetCamposFacultad() {
		CampoNombreFacultad.setText("");
		CampoCodigoFacultad.setText("");
	}

	public void setCamposFacultad(String nombre, String codigo) {
		CampoNombreFacultad.setText(nombre);
		CampoCodigoFacultad.setText(codigo);
	}

	// -------------------------------------------------GETTERS de cargo

	public String getNombreCargo() {
		return CampoDescripcionCargo.getText();
	}

	public String getCodigoCargo() {
		return CampoCodigoCargo.getText();
	}

	// ---------------------------SETTERS de cargo
	public void resetCamposCargo() {
		CampoDescripcionCargo.setText("");
		CampoCodigoCargo.setText("");
	}

	public String getCodigoFacultadEnCargo() {
		if (ComboBoxCodigoFacultadEnCargo.getSelectedItem() == null)
			return "";
		else
			return (String) ComboBoxCodigoFacultadEnCargo.getSelectedItem();
	}

	public String getDniDocenteEnCargo() {
		if (ComboBoxDniDocenteEnCargo.getSelectedItem() == null)
			return "";
		else
			return (String) ComboBoxDniDocenteEnCargo.getSelectedItem();
	}

	public String getCodigoCargoEnCargo() {
		if (ComboBoxCodigoCargoEnCargo.getSelectedItem() == null)
			return "";
		else
			return (String) ComboBoxCodigoCargoEnCargo.getSelectedItem();
	}

	public String getDedicacionEnCargo() {
		if (ComboBoxDedicacionEnCargo.getSelectedItem() == null)
			return "";
		else
			return (String) ComboBoxDedicacionEnCargo.getSelectedItem();
	}

	public void actualizarGraficas() {
		try {
			ComboBoxDniDocenteEnCargo.removeAllItems();
			String[] dni = DocenteController.listarNombres();
			for (int i = 0; i < dni.length; i++) {
				ComboBoxDniDocenteEnCargo.addItem(dni[i]);
			}
			ComboBoxCodigoCargoEnCargo.removeAllItems();
			String[] cargos = CargoController.listarNombres();
			for (int i = 0; i < cargos.length; i++) {
				ComboBoxCodigoCargoEnCargo.addItem(cargos[i]);
			}
			ComboBoxCodigoFacultadEnCargo.removeAllItems();
			String[] facultades = FacultadController.listarNombres();
			for (int i = 0; i < facultades.length; i++) {
				ComboBoxCodigoFacultadEnCargo.addItem(facultades[i]);
			}
		} catch (Exception e) {
		}

	}

}
